Speeding Up Dynamic Programming with Applications to
نویسنده
چکیده
Consider the problem of computing E[j] = mit:! {D[k] + w(k, j)}, j = 1, ... , n, O~k~]-l where w is a given weight function, D[D] is given and for every k = 1, ... , n, D[k] is easily computable from E[k]. This problem appears as a subproblem in dynamic programming solutions to various problems. Obviously, it can be solved in time O( n ), and for a general weight function no better algorithm is possible. We consider two dual cases that arise in applications: In the concave case, the weight function satisfies the quadrangle inequality: w(k,j) + w(l,j') ~ w(l,j) +w(k,j'), for all k ~ 1 ~ j ~ j'. In the convex case, the weight function satisfies the inverse quadrangle inequality. In both cases we show how to use the assumed property of w to derive an O( n log n) algorithm. Even better, linear-time algorithms are obtained if w satisfies the following additional closest zero property: for every two integers 1 and k, 1 < k, and real number a, the smallest zero of f(x) = w(l,x) w(k,x) a which is larger than 1 can be found in constant time. Surprisingly, the two algorithms are also dual in the following sense: Both work in stages. In the j-th stage they compute Elj]. They maintain a set of candidates which satisfies the property that Elj] depends only on D[k] + w(k, j) for k's in the set. Moreover, each algorithm discards candidates from the set, and discarded candidates never rejoin the set. To be able to maintain such a set of candidates efficiently one uses the following "dual" data structures: a queue in the concave case and a stack in the convex case. The two algorithms speed up several dynamic programming routines that solve as a subproblem the problem above. The speed-up is from O(n3 ) to O(n2Iogn) or O(n2 ). Applications include algorithms for comparing DNA sequences, algorithms for determining the secondary structure of RNA, and algorithms used in speech recognition and geology. One typical problem is the following: Given the cost of substituting any pair of symbols and a convex cost function g for gaps (where g(r) is the cost of a gap of size r), compute the modified edit distance between the two given sequences.
منابع مشابه
Modern Computational Applications of Dynamic Programming
Computational dynamic programming, while of some use for situations typically encountered in industrial and systems engineering, has proved to be of much greater significance in many areas of computer science. We review some of these applications here.
متن کاملSpeeding up Dynamic Programming
A number of important computational problems in molecular biology, geology, speech recognition, and other areas, can be expressed as recurrences which have typically been solved with dynamic programming. By using more sophisticated data structures, and by taking advantage of further structure from the applications, we speed up the computation of several of these recurrences by one or two orders...
متن کاملControl Problem and its Application in Management and Economic
The control problem and Dynamic programming is a powerful tool in economics and management. We review the dynamic programming problem from its beginning up to its present stages. A problem which was involved in physics and mathematics in I 7” century led to a branch of mathematics called calculus of variation which was used in economic, and management at the end of the first quarter of the 20” ...
متن کاملSpeeding Up Dynamic Programming without Omitting any Optimal Solution and Some Applications in Molecular Biology
We extend the algorithm of Galil and Giancarlo, which speeds up dynamic programming in the case of concave cost functions, such that a compact representation of all optimal solutions is computed. Compared to the Galil-Giancarlo algorithm our time bound grows only by a small constant factor. With a compact representation, we develop eecient algorithms for the solution of problems in molecular bi...
متن کاملMeasuring a Dynamic Efficiency Based on MONLP Model under DEA Control
Data envelopment analysis (DEA) is a common technique in measuring the relative efficiency of a set of decision making units (DMUs) with multiple inputs and multiple outputs. Standard DEA models are quite limited models, in the sense that they do not consider a DMU at different times. To resolve this problem, DEA models with dynamic structures have been proposed.In a recent pape...
متن کاملSpeeding up Training with Tree Kernels for Node Relation Labeling
We present a method for speeding up the calculation of tree kernels during training. The calculation of tree kernels is still heavy even with efficient dynamic programming (DP) procedures. Our method maps trees into a small feature space where the inner product, which can be calculated much faster, yields the same value as the tree kernel for most tree pairs. The training is sped up by using th...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2004